data

data from pokemon_cards_project, csv from here

price_df1 |> 
  ggplot(
    aes(price_normal, price_foil, colour = hp)
  ) +
  geom_count(alpha = .2, stroke = 1) +
  geom_abline(slope = 1, size = .1) +
  geom_smooth(methods = "lm") +
  scale_x_continuous(limits = c(.01, 120), trans = "log10") +
  scale_y_continuous(limits = c(.01, 120), trans = "log10") +
  scale_colour_viridis_c(trans = "log10") +
  # facet_wrap(vars(rarity)) +
  theme_pokemon +
  theme(aspect.ratio = 1)
Warning: Ignoring unknown parameters: methods

price_df2$evolution_stage |> unique()
price_df2 |> colnames()
price_df2 |> 
  ggplot(aes(pokemon_id, price, colour = hp)) +
  geom_count(
    data = price_df2 |> select(-foil), 
    size = .3, 
    colour = "grey70",
    alpha = .3
    ) +
  geom_count(alpha = .5, size = .3) +
  geom_smooth() +
  facet_grid(
    cols = vars(rarity),
    rows = vars(foil)
  ) +
  scale_y_continuous(
    breaks = 10^(-1:3),
    labels = 10^(-1:3),
    trans = "log10"
    ) +
  scale_colour_viridis_c(trans = "log10", limits = c(40, NA)) +
  theme_pokemon

release_dateが古ければ高い、というのはありそう。

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyBkYXRhCgpkYXRhIGZyb20gW3Bva2Vtb25fY2FyZHNfcHJvamVjdF0oaHR0cHM6Ly9naXRodWIuY29tL0pvbmF0aGFuV2Ftc2xleS9wb2tlbW9uX2NhcmRzX3Byb2plY3QpLCBjc3YgZnJvbSBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL0pvbmF0aGFuV2Ftc2xleS9wb2tlbW9uX2NhcmRzX3Byb2plY3QvdHJlZS9tYXN0ZXIvZGF0YSkKCmBgYHtyfQpwcmljZV9kYXRhX3JhdyA8LSByZWFkX2NzdigiLi9pbnB1dC9zbmFwc2hvdF8yMDIwLTAzLTI0LmNzdiIpCnByaWNlX2RhdGFfcmF3IApgYGAKCmBgYHtyfQpwcmljZV9kYXRhX3JhdyB8PiBjb2xuYW1lcygpCnByaWNlX2RhdGFfcmF3JGBNZWRpYW4gUHJpY2UgTm9ybWFsYCB8PiB1bmlxdWUoKQpwcmljZV9kYXRhX3JhdyRgLi4uMWAgfD4gdW5pcXVlKCkKcHJpY2VfZGYxIDwtIHByaWNlX2RhdGFfcmF3IHw+IAogIHJlbmFtZSgKICAgIGNhcmRfaWQyID0gaW5kZXgsCiAgICBjYXJkX25hbWUgPSBgQ2FyZCBOYW1lYCwKICAgIHNlcmllcyA9IGBTZXQgTmFtZWAsCiAgICBzZXQgPSBgQ2FyZCBOdW1iZXJgLAogICAgcmFyaXR5ID0gUmFyaXR5LAogICAgY2FyZF90eXBlID0gYENhcmQgVHlwZWAsCiAgICBocCA9IEhQLAogICAgZXZvbHV0aW9uX3N0YWdlID0gU3RhZ2UsCiAgICBwb2tlbW9uX25hbWUgPSBgUG9rZW1vbiAxYCwKICAgIHBva2Vtb25faWQgPSBgUG9rZWRleCAxYAogICAgKSB8PiAKICBtdXRhdGUoCiAgICBwcmljZV9mb2lsID0gCiAgICAgIHN0cl9leHRyYWN0KGBNYXJrZXQgUHJpY2UgRm9pbGAsICJbOmRpZ2l0Ol0rXFwuWzpkaWdpdDpdKyIpIHw+IGFzLm51bWVyaWMoKSwKICAgIHByaWNlX25vcm1hbCA9IAogICAgICBzdHJfZXh0cmFjdChgTWFya2V0IFByaWNlIE5vcm1hbGAsICJbOmRpZ2l0Ol0rXFwuWzpkaWdpdDpdKyIpIHw+IGFzLm51bWVyaWMoKSwKICAgIHByaWNlX2ZvaWxfbWVkaWFuID0gCiAgICAgIHN0cl9leHRyYWN0KGBNZWRpYW4gUHJpY2UgRm9pbGAsICJbOmRpZ2l0Ol0rXFwuWzpkaWdpdDpdKyIpIHw+IGFzLm51bWVyaWMoKSwKICAgIHByaWNlX25vcm1hbF9tZWRpYW4gPSAKICAgICAgc3RyX2V4dHJhY3QoYE1lZGlhbiBQcmljZSBOb3JtYWxgLCAiWzpkaWdpdDpdK1xcLls6ZGlnaXQ6XSsiKSB8PiBhcy5udW1lcmljKCksCiAgKSAgfD4gCiAgc2VsZWN0KC1gLi4uMWAsIC1gLi4uMjJgLCAtbWF0Y2hlcygiUHJpY2UiLCBpZ25vcmUuY2FzZSA9IEZBTFNFKSwgLVVybCwgLWBTY3JhcGVkIERhdGVgKQpwcmljZV9kZjEgfD4gVmlldygpCnByaWNlX2RmMQpgYGAKCmBgYHtyfQpwcmljZV9kZjEgfD4gCiAgZ2dwbG90KAogICAgYWVzKHByaWNlX25vcm1hbCwgcHJpY2VfZm9pbCwgY29sb3VyID0gaHApCiAgKSArCiAgZ2VvbV9jb3VudChhbHBoYSA9IC4yLCBzdHJva2UgPSAxKSArCiAgZ2VvbV9hYmxpbmUoc2xvcGUgPSAxLCBzaXplID0gLjEpICsKICBnZW9tX3Ntb290aChtZXRob2RzID0gImxtIikgKwogIHNjYWxlX3hfY29udGludW91cyhsaW1pdHMgPSBjKC4wMSwgMTIwKSwgdHJhbnMgPSAibG9nMTAiKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxpbWl0cyA9IGMoLjAxLCAxMjApLCB0cmFucyA9ICJsb2cxMCIpICsKICBzY2FsZV9jb2xvdXJfdmlyaWRpc19jKHRyYW5zID0gImxvZzEwIikgKwogICMgZmFjZXRfd3JhcCh2YXJzKHJhcml0eSkpICsKICB0aGVtZV9wb2tlbW9uICsKICB0aGVtZShhc3BlY3QucmF0aW8gPSAxKQpgYGAKYGBge3IgZmlnLndpZHRoPTMsIGZpZy5oZWlnaHQ9Mn0KcHJpY2VfZGYxIHw+IGZpbHRlcighaXMubmEocHJpY2Vfbm9ybWFsX21lZGlhbiksIGlzLm5hKHByaWNlX25vcm1hbCkpCnByaWNlX2RmMiA8LSBwcmljZV9kZjEgfD4gCiAgIyBzZWxlY3QoLWVuZHNfd2l0aCgibWVkaWFuIikpIHw+IAogIHBpdm90X2xvbmdlcihjb2xzID0gc3RhcnRzX3dpdGgoInByaWNlXyIpLCBuYW1lc190byA9ICJmb2lsIiwgdmFsdWVzX3RvID0gInByaWNlIikgIHw+IAogIGZpbHRlcigKICAgIGhwIDwgNTAwLCBocCA+IDAsCiAgICByYXJpdHkgJWluJSBjKCJDb21tb24iLCAiVW5jb21tb24iLCAiUmFyZSIsICJQcm9tbyIsICJVbHRyYSBSYXJlIiwgIlNlY3JldCBSYXJlIiwgIlNoaW55IEhvbG8gUmFyZSIpCiAgKSAKcHJpY2VfZGYyIHw+IAogIGdncGxvdChhZXMoaHAsIHByaWNlLCBjb2xvdXIgPSBwcmljZSkpICsKICBnZW9tX2NvdW50KGRhdGEgPSBwcmljZV9kZjIgfD4gc2VsZWN0KC1mb2lsKSwgc2l6ZSA9IC4zLCBjb2xvdXIgPSAiZ3JleTcwIikgKwogIGdlb21fY291bnQoYWxwaGEgPSAuMiwgc2l6ZSA9IC4zKSArCiAgZmFjZXRfZ3JpZCgKICAgIGNvbHMgPSB2YXJzKHJhcml0eSksCiAgICByb3dzID0gdmFycyhmb2lsKQogICkgKwogIHNjYWxlX3lfY29udGludW91cygKICAgIGJyZWFrcyA9IDEwXigtMTozKSwKICAgIGxhYmVscyA9IDEwXigtMTozKSwKICAgIHRyYW5zID0gImxvZzEwIgogICAgKSArCiAgc2NhbGVfY29sb3VyX3ZpcmlkaXNfYyh0cmFucyA9ICJsb2cxMCIpICsKICB0aGVtZV9wb2tlbW9uCmBgYAoKCmBgYHtyIGZpZy5oZWlnaHQ9MywgZmlnLndpZHRoLTR9CnByaWNlX2RmMiRldm9sdXRpb25fc3RhZ2UgfD4gdW5pcXVlKCkKcHJpY2VfZGYyIHw+IGNvbG5hbWVzKCkKcHJpY2VfZGYyIHw+IAogIGdncGxvdChhZXMocG9rZW1vbl9pZCwgcHJpY2UsIGNvbG91ciA9IGhwKSkgKwogIGdlb21fY291bnQoCiAgICBkYXRhID0gcHJpY2VfZGYyIHw+IHNlbGVjdCgtZm9pbCksIAogICAgc2l6ZSA9IC4zLCAKICAgIGNvbG91ciA9ICJncmV5NzAiLAogICAgYWxwaGEgPSAuMwogICAgKSArCiAgZ2VvbV9jb3VudChhbHBoYSA9IC41LCBzaXplID0gLjMpICsKICBnZW9tX3Ntb290aCgpICsKICBmYWNldF9ncmlkKAogICAgY29scyA9IHZhcnMocmFyaXR5KSwKICAgIHJvd3MgPSB2YXJzKGZvaWwpCiAgKSArCiAgc2NhbGVfeV9jb250aW51b3VzKAogICAgYnJlYWtzID0gMTBeKC0xOjMpLAogICAgbGFiZWxzID0gMTBeKC0xOjMpLAogICAgdHJhbnMgPSAibG9nMTAiCiAgICApICsKICBzY2FsZV9jb2xvdXJfdmlyaWRpc19jKHRyYW5zID0gImxvZzEwIiwgbGltaXRzID0gYyg0MCwgTkEpKSArCiAgdGhlbWVfcG9rZW1vbgpgYGAKCnJlbGVhc2VfZGF0ZeOBjOWPpOOBkeOCjOOBsOmrmOOBhOOAgeOBqOOBhOOBhuOBruOBr+OBguOCiuOBneOBhuOAggoKYGBge3J9CnByaWNlX3NlcmllcyA8LSBwcmljZV9kZjIkc2VyaWVzIHw+IHVuaXF1ZSgpIApzZXJpZXMgPC0gZGZfc2VyaWVzMiRzZXJpZXMKc2V0ZGlmZihwcmljZV9zZXJpZXMsIHNlcmllcykKCnByaWNlX2RmMSB8PiAKICBjb3VudChjYXJkX25hbWUsIHNlcmllcykgfD4gCiAgYXJyYW5nZShkZXNjKG4pKQpgYGAKCgoK